<template>
  <div class="app-container">
    <h1>App 根组件</h1>
    <hr />

    <button @click="comName = 'Left'">展示Left</button>
    <button @click="comName = 'Right'">展示Right</button>
    <div class="box">
      <!-- 渲染 Left 组件和 Right 组件 -->
      <!-- 保持活跃 -->
      <!-- keep-alive 可以把内部组件进行缓存，而不是销毁组件 -->
      <!-- include 指定被缓存的组件 ，exclude 排除被缓存的组件，二者只能选其中一个-->
      <keep-alive include="MyLeft">
        <component :is="comName"></component>
      </keep-alive>
    </div>
  </div>
</template>

<script>
import Left from "@/components/Left.vue";
import Right from "@/components/Right.vue";
export default {
  data() {
    return {
      comName: "Left",
    };
  },
  components: {
    //如果在“声明组件”的时候，没有为组件指定name名称，则组件的名称默认就是“注册时候的名称“
    Left,
    Right,
  },
};
</script>

<style lang="less">
.app-container {
  padding: 1px 20px 20px;
  background-color: #efefef;
}
.box {
  display: flex;
}
</style>
